Skill: Harvest Reusable AI Artifacts
Skill: Harvest Reusable AI Artifacts
Context
This is a Claude Code slash-command skill (.claude/commands/harvest.md) that helps you identify and contribute reusable AI artifacts from any project to the DMDQP AI Capability Hub. It scans a project directory for custom skills (.claude/commands/), MCP server configurations, and CLAUDE.md project context files, evaluates each artifact for reusability, and guides you through preparing and submitting them as hub contributions.
Install this skill in a build-cli session when you want to harvest artifacts from a project you have finished or are reviewing.
The Prompt
You are helping harvest reusable Claude Code artifacts from an existing project and contribute them to the DMDQP AI Capability Hub.
The source project path is: $ARGUMENTS
If no path was provided, ask the user: "Please provide the path to the project you want to harvest from."
---
## Step 1 — Scan for artifacts
Check the following locations in the source project:
1. `$ARGUMENTS/.claude/commands/` — custom skills (*.md files)2. `$ARGUMENTS/.claude/settings.json` — MCP server configurations (look inside `mcpServers`)3. `$ARGUMENTS/CLAUDE.md` — project context file
List every artifact found. For each one, show:- Type (skill / MCP config / CLAUDE.md)- Name or key- A one-line description of what it does or contains
If none of the above locations exist or are empty, tell the user and stop.
---
## Step 2 — Evaluate reusability
For each artifact, assess reusability honestly:
- **Broadly reusable** — useful to other DMDQP projects with little or no adaptation- **Template candidate** — too project-specific as-is, but could become reusable with placeholders replacing the project-specific parts- **Project-specific** — too tightly coupled to this project to be useful elsewhere
Explain your reasoning for each. Be conservative: if you're unsure, lean toward "project-specific" and explain what would need to change to make it reusable.
---
## Step 3 — Confirm with the user
Present your findings clearly and ask:- Which artifacts should be included in the hub?- For any you flagged as "template candidate", confirm the user wants to invest in adapting it
Wait for the user's response before writing anything.
---
## Step 4 — Prepare the artifacts
For each artifact the user approves, prepare the hub-ready version:
**Skills** (`.claude/commands/*.md`):- Keep the core prompt logic- Ensure it ends with `$ARGUMENTS` if it accepts input- Remove any hardcoded project-specific values (paths, system names, credentials)- Suggest target: `skills/<name>/<name>.md`
**MCP configs** (from `settings.json` → `mcpServers`):- Extract the relevant server block- Replace ALL credential values — API keys, passwords, connection strings, tokens, account names — with `[YOUR_VALUE]`- Do not leave any real credentials in the output, even partially- Check if a matching entry already exists in `mcp-catalogue/` — if so, propose adding to it rather than creating a duplicate- Suggest target: `mcp-catalogue/<system>.md`
**CLAUDE.md**:- Identify the project type (ETL pipeline, dbt, SQL analytics, data governance, or new type)- Replace all project-specific values (project name, table names, system names, env-specific config) with `[PLACEHOLDER]` markers- Add a comment above each placeholder explaining what the user should fill in- Suggest target: `claude-md-examples/<type>/CLAUDE.md`
Show the full prepared content for each artifact and ask the user to review and approve before writing any files.
---
## Step 5 — Write the files
After the user confirms, write the approved artifacts to their target locations in the current repository (this hub).
For each new skill, also create a `skills/<name>/README.md` using this structure:Skill: /
Usage
/
What it does
[one paragraph]
Install
Copy <name>.md to .claude/commands/<name>.md in your project, or to ~/.claude/commands/<name>.md for global use.
For each new or updated MCP entry, follow the format of existing entries in `mcp-catalogue/`.
---
## Step 6 — Create a PR
Ask: "Ready to open a pull request with these additions?"
If yes:- Create a branch named `contribution/harvest-<source-project-name>` (derive the name from the last segment of the source path)- Stage and commit the new files with message: `feat: harvest artifacts from <source-project-name>`- Push the branch and open a PR targeting `main`- PR description should list: what was harvested, from which project type (not the full path — avoid leaking internal project names if sensitive), and what was excluded and why- Remind the user: this PR needs one team reviewer before merging
$ARGUMENTSHow to Install as a Claude Code Slash-Command
- Copy the prompt text above (the content between the triple backticks, including the
$ARGUMENTStoken at the end). - Create the file
.claude/commands/harvest.mdin the DMDQP AI Capability Hub repository root (or~/.claude/commands/harvest.mdfor global use). - Paste the prompt text as the entire file content.
- The
$ARGUMENTStoken at the end is replaced by Claude Code with the project path you provide after the slash-command.
Usage Instructions
Once installed, invoke the skill from within a build-cli session opened in the DMDQP AI Capability Hub repo:
/harvest /path/to/my-dbt-projectIf you don’t provide a path, Claude Code will ask for one. The skill then scans the project, evaluates each artifact, confirms your choices, prepares hub-ready versions, and opens a PR — all guided step by step.
Security reminder: The skill will strip credentials from MCP configurations before writing them. Never include passwords, API keys, or connection strings in the artifacts you submit.