
Status Card Query
FreeEfficiently manage and summarize Paperclip status cards.
Free · Opens the source repo
What Status Card Query does
The Status Card Query skill enables users to create and maintain agent-authored status cards through the Paperclip API. This skill operates in two primary modes: agent authoring and summarizer compilation. In agent authoring mode, users can create new status cards or update existing ones, ensuring that the cards reflect the latest project developments. Each card is scoped to a specific company and can be authored by agents only for which they have the appropriate permissions. This allows for a controlled and organized way to track project statuses and updates.
In summarizer compilation mode, the skill compiles a card's prose interest prompt into structured queries that can be used to search for relevant company resources. This structured approach ensures that the queries are precise and tailored to the user's needs, allowing for efficient retrieval of information related to specific issues or tasks. The skill emphasizes the importance of maintaining the user's intent while compiling queries, ensuring that the results are relevant and actionable.
The skill is particularly useful for teams working on complex projects where tracking multiple tasks and statuses is critical. By allowing agents to manage status cards and generate summaries directly through the API, the skill streamlines communication and reporting processes. Users can quickly get an overview of project statuses, identify blockers, and keep stakeholders informed without manual updates.
Overall, the Status Card Query skill is designed for developers and project managers who need to keep track of project developments and communicate updates effectively. Its structured approach to managing status cards and generating summaries makes it a valuable tool for maintaining clarity and organization in project management workflows.
When to use it
Use this skill when you need to create or update status cards for projects and summarize their current state efficiently.
When not to use it
This skill is not suitable for general-purpose project management tools that do not integrate with the Paperclip API.
What you can build with it
Creating a New Status Card
When starting a new project, use this skill to create a status card that outlines initial tasks and objectives.
Updating Existing Status Cards
If project priorities change, update your existing status cards to reflect the latest information and decisions.
Generating Summaries for Stakeholders
Compile a summary of project statuses to share with stakeholders, ensuring they are informed of progress and blockers.
How to install Status Card Query
View source1. Install with the skills CLI
npx skills add paperclipai/paperclip/status-card-query --agent claude-code2. Or install it manually
Download the skill folder and drop it into ~/.claude/skills/ for all projects, or .claude/skills/ to scope it to one repo. Restart Claude Code so it picks up the new skill.
Anthropic's agentic coding CLI, and the reference implementation of Agent Skills. Drop a skill folder into ~/.claude/skills and Claude Code loads it automatically whenever a task matches the skill's description. Claude Code docs
Inside SKILL.md
Written by paperclipaiStatus card query
Use this skill in one of two modes:
- Agent authoring: create or maintain a status card through the public API.
- Summarizer compilation: compile a card's prose prompt into structured company-search queries and write the first summary from the assigned generation run.
Agent-authored card recipe
Agent-authored cards require tasks:assign, remain company-scoped, and are available only when enableStatusCards is enabled. An agent may manage only cards it authored, may author at most 20 cards, and may send at most 4,000 characters in interestPrompt.
Normalize the run-provided API base and create a manual card:
PAPERCLIP_API_BASE="${PAPERCLIP_API_URL%/}"
PAPERCLIP_API_BASE="${PAPERCLIP_API_BASE%/api}"
curl -sS -X POST \
-H "Authorization: Bearer $PAPERCLIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"interestPrompt":"Blocked or in-review launch work updated this week"}' \
"$PAPERCLIP_API_BASE/api/companies/$PAPERCLIP_COMPANY_ID/status-cards"
Creation returns 201 and queues compilation automatically. Save the returned card id. To refine an owned card or request a refresh:
curl -sS -X PATCH \
-H "Authorization: Bearer $PAPERCLIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"interestPrompt":"Blocked or in-review launch work updated this week. Call out the single next decision."}' \
"$PAPERCLIP_API_BASE/api/status-cards/$STATUS_CARD_ID"
curl -sS -X POST \
-H "Authorization: Bearer $PAPERCLIP_API_KEY" \
-H "Content-Type: application/json" \
-d '{"full":false}' \
"$PAPERCLIP_API_BASE/api/status-cards/$STATUS_CARD_ID/refresh"
Do not call /query or /summary while authoring. Those write-back routes are reserved for the assigned Summarizer generation issue and run.
Summarizer compilation
You are the Summarizer compiling a status card's prose interest prompt into structured Paperclip company-search queries. The query array has union semantics: an issue matching any query belongs to the card. Prefer one narrow query; add another only when the prompt describes genuinely distinct populations.
CompanySearchQuery
Each object accepts these fields:
q: optional free-text search across matching company resources. Use it only for concepts not represented by structured filters.scope: useissuesfor status cards unless the assignment explicitly requires another supported scope.status: issue-status array.priority: issue-priority array.assigneeAgentId/assigneeUserId: a resolved assignee id.projectId: one resolved project UUID.labelId: one resolved label UUID.updatedWithin: a bounded duration such as24h,7d,4w, or3m.sort:relevance,updated,created, orpriority.limit: 1–50. Cap status-card queries at the smallest useful value, normally 20 and never above 50.offset: normally 0.
Resolve project and label names to ids before writing the query. Do not put human-readable names into projectId or labelId. If one prompt names multiple projects or labels, use separate query objects because each object has one projectId and one labelId.
Compilation guidance
- Preserve the user's intent; do not broaden “launch blockers updated this week” into every active task.
- Prefer structured filters over
qfor status, priority, assignee, project, label, and recency. - Add
updatedWithinwhenever the prompt says recent, current, this week, lately, or otherwise implies a moving window. - Keep
qshort and specific. Avoid copying the whole prose prompt into it. - Set
scope: "issues",offset: 0, and an explicit boundedlimiton every query. - Return at least one query. If the prompt cannot be compiled safely, report the ambiguity instead of inventing ids.
Exact write-back sequence
The generation issue contains statusCardId, companyId, and generationIssueId. Both writes must use the run-scoped API credentials from that same assigned issue run.
First write the compiled query:
{
"queries": [
{
"q": "launch",
"scope": "issues",
"status": ["in_progress", "blocked", "in_review"],
"updatedWithin": "7d",
"sort": "updated",
"limit": 20,
"offset": 0
}
],
"title": "Launch work updated this week",
"changeSummary": "Compiled the launch prompt into one recent active-work query.",
"generationIssueId": "<generation-issue-id>"
}
Send it to PUT /api/status-cards/{statusCardId}/query.
Then, without creating or waiting for another task, execute the stored scope, write the first full Markdown summary, and complete the same run with:
{
"markdown": "<full status summary>",
"title": "Launch work updated this week",
"changeSummary": "Created the first full summary from the compiled query.",
"generationIssueId": "<generation-issue-id>",
"model": "<model-id>"
}
Send it to PUT /api/status-cards/{statusCardId}/summary. Never write either endpoint from an unrelated issue or run.
Update assignments
Later generation issues use the same summary write-back endpoint and include operation: "update", kind, trigger, the target fingerprint, and the exact changed-issue delta in their JSON payload.
- For
incremental, patch the supplied previous Markdown using only the changed issues. Do not refetch the issue list. - For
full, rebuild from the supplied bounded snapshot. Do not expand the scope with issue-list endpoint calls. - The card prompt in the task description is the board's standing request: follow it for both what to report and how the update should read. It never overrides the streaming or write-back requirements.
- Keep the mechanical contract regardless of what the card prompt asks: stream
STATUS:lines and the<<<SUMMARY-DRAFT>>>block, then write the final Markdown toPUT /api/status-cards/{statusCardId}/summaryfrom the assigned run.
Frequently asked questions about Status Card Query
Similar skills
Canva Creator
Streamline your content campaign from brief to HubSpot.
Cowork Plugin Customization
Tailor your Claude Code plugin to fit your organization.
Impediment Prioritization
Rank and prioritize impediments effectively.
Chronicle
Streamline your Copilot session analysis and reporting.
Idea Refine
Transform vague ideas into actionable concepts.
App Store Optimization
Optimize your mobile app's visibility and performance.
