agentsclimarketplace

Planner

Skill LuisAtMAD/luis-skills/skills/planner

BLOCKING: Always invoke this skill — NEVER use `gh issue create` directly. This skill is the only correct way to create manager tasks because it also sets the task category label, adds the issue to the "Luis Planner" project, and sets the Owner, Topic, and Priority fields. Raw `gh` commands skip all of these. Trigger on: "new task", "create task", "add a task", "remind me to", "log a task", "make a note", "follow up on", "I need to", "don't let me forget", "track this", "add to my list", or any clear intent to log a personal to-do or action item — even without the word "task". Task categories: Follow-Up, Action Item, Decision, Admin, Strategic. Topics: Supply Chain, Data Analysis, Software Dev, KPI Meeting, Top Production Issues, Continuous Improvement, Business Transformation, Other.From its SKILL.md

Install
npx -y skills add LuisAtMAD/luis-skills --skill planner

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

2 things to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.
  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

SKILL.md

8.2 KB, ~1.9k tokens by cl100k_base, as published. Nobody here has run it

Manager Task Creator

Turn freeform input into a published GitHub issue in LuisAtMAD/Luis, added to the "Luis Planner" project.

IMPORTANT — do not bypass this skill. Using gh issue create directly skips required steps: setting the category label, adding the issue to the Luis Planner project board, and setting the Owner, Topic, and Priority fields. Always invoke this skill instead.


Step 1 — Prereq Check

Check if gh is installed at the default path:

"/c/Program Files/GitHub CLI/gh.exe" auth status
  • If the file is not found at that path: tell the user "GitHub CLI was not found. Download and install it from https://cli.github.com, then run gh auth login in a terminal." Stop.
  • If found but not authenticated: tell the user to open a terminal and run gh auth login, and stop.
  • If found and authenticated: proceed.

Step 2 — Draft the Task

Classify the input using the fields below. Ask only if something is genuinely ambiguous.

Category

CategoryWhen to use
Follow-UpChecking back on something delegated or sent out
Action ItemTask arising from a meeting or conversation
DecisionSomething Luis needs to make a call on
AdminPaperwork, approvals, scheduling
StrategicPlanning, goal-setting, bigger-picture work

Priority

Infer from urgency cues in the description if possible. If not mentioned and not inferable, default to Medium and note that in the draft.

PriorityWhen to use
HighTime-sensitive, blocks others, or has near-term consequences if missed
MediumImportant but not urgent
LowNice to have, no immediate deadline pressure

Due Date

Extract any date or deadline mentioned. Accept natural language ("Friday", "end of month", "June 30") — convert to YYYY-MM-DD for the body. If no date is mentioned, leave it as Not set.

Owner

Infer from the notes (e.g., who owns the outcome or who this is about). If not mentioned and cannot be inferred, ask: "Who is the owner of this task?"

Topic

Infer the topic from the description using these options. Show your inference in the draft — Luis always confirms before the issue is created.

TopicWhen to use
Supply ChainSuppliers, procurement, parts, inventory, logistics
Data AnalysisReports, dashboards, queries, data requests
Software DevApps, tools, code, IT systems, integrations
KPI MeetingKPI reviews, metrics discussions, performance meetings
Top Production IssuesProduction problems, escalations, floor issues
Continuous ImprovementProcess improvements, Kaizen, efficiency initiatives
Business TransformationStrategic change, restructuring, major initiatives
OtherDoesn't clearly fit any of the above

Title

Imperative tone, 10 words or fewer (e.g., "Follow up with vendor on quote", "Approve budget request for Q3").


Produce a draft:

Title:      <concise, imperative title>
Category:   Follow-Up | Action Item | Decision | Admin | Strategic
Topic:      <inferred topic — Luis will confirm>
Priority:   High | Medium | Low
Due Date:   YYYY-MM-DD  (or "Not set")
Owner:      <name>

<full description — preserve all context from the user's input. Use [clarify: ...] for anything genuinely unclear.>

Rules:

  • Title: imperative tone (e.g., "Follow up with vendor on quote", "Decide on org chart changes")
  • Description: preserve all meaningful context.
  • Assignee is not shown in the draft — set automatically to @me when created.
  • The draft header is for review only — these become structured fields and labels, not body text.

Step 3 — Confirm and Edit

Show the draft. Ask exactly: "Anything to adjust before I create this?"

  • Apply any changes, re-show the updated draft if changes were substantial, and ask again.
  • When the user confirms, proceed.

Step 4 — Create the Issue

The label is the category (slugs: follow-up, action-item, decision, admin, strategic).

Format the body:

**Due Date:** YYYY-MM-DD (or "Not set")
**Topic:** <topic>

<description text>

Write only the body content to a uniquely named temp file (use a timestamp to avoid collisions), then run:

GH="/c/Program Files/GitHub CLI/gh.exe"
BODY_FILE="/tmp/gh_task_body_$(date +%s).md"
# write body content to $BODY_FILE here
"$GH" issue create \
  --repo LuisAtMAD/Luis \
  --title "<title>" \
  --body-file "$BODY_FILE" \
  --label "<category-slug>" \
  --assignee @me
rm -f "$BODY_FILE"

Capture the issue URL printed by gh (last line of output). Store it as ISSUE_URL.


Step 5 — Add to Project

Use PowerShell (not bash) for all JSON parsing since jq is not available.

$GH = "C:\Program Files\GitHub CLI\gh.exe"

$PROJECT_NUMBER = (& $GH project list --owner LuisAtMAD --format json | ConvertFrom-Json).projects |
  Where-Object { $_.title -eq "Luis Planner" } | Select-Object -ExpandProperty number

$ITEM_JSON = & $GH project item-add $PROJECT_NUMBER --owner LuisAtMAD --url "$ISSUE_URL" --format json | ConvertFrom-Json
$ITEM_ID = $ITEM_JSON.id

Step 6 — Set Owner, Topic, and Priority Fields

Resolve project and field IDs using PowerShell, then set all three fields:

$GH = "C:\Program Files\GitHub CLI\gh.exe"

$fields = & $GH project field-list $PROJECT_NUMBER --owner LuisAtMAD --format json | ConvertFrom-Json

$PROJECT_ID = (& $GH project list --owner LuisAtMAD --format json | ConvertFrom-Json).projects |
  Where-Object { $_.title -eq "Luis Planner" } | Select-Object -ExpandProperty id

# Set Owner (text field)
$OWNER_FIELD_ID = $fields.fields | Where-Object { $_.name -eq "Owner" } | Select-Object -ExpandProperty id
if ($OWNER_FIELD_ID) {
    & $GH project item-edit `
      --project-id $PROJECT_ID `
      --id $ITEM_ID `
      --field-id $OWNER_FIELD_ID `
      --text "<owner-name>"
}

# Set Topic (single-select field)
$TOPIC_FIELD = $fields.fields | Where-Object { $_.name -eq "Topic" } | Select-Object -First 1
$TOPIC_FIELD_ID = $TOPIC_FIELD.id
$TOPIC_OPTION_ID = $TOPIC_FIELD.options | Where-Object { $_.name -eq "<topic-name>" } | Select-Object -ExpandProperty id

if ($TOPIC_FIELD_ID -and $TOPIC_OPTION_ID) {
    & $GH project item-edit `
      --project-id $PROJECT_ID `
      --id $ITEM_ID `
      --field-id $TOPIC_FIELD_ID `
      --single-select-option-id $TOPIC_OPTION_ID
}

# Set Priority (single-select field)
$PRIORITY_FIELD = $fields.fields | Where-Object { $_.name -eq "Priority" } | Select-Object -First 1
$PRIORITY_FIELD_ID = $PRIORITY_FIELD.id
$PRIORITY_OPTION_ID = $PRIORITY_FIELD.options | Where-Object { $_.name -eq "<priority-value>" } | Select-Object -ExpandProperty id

if ($PRIORITY_FIELD_ID -and $PRIORITY_OPTION_ID) {
    & $GH project item-edit `
      --project-id $PROJECT_ID `
      --id $ITEM_ID `
      --field-id $PRIORITY_FIELD_ID `
      --single-select-option-id $PRIORITY_OPTION_ID
}

Where <priority-value> is one of: High, Medium, Low — matching the draft exactly.

If the Topic or Priority field or option ID cannot be found: warn the user but do not stop — Owner was already set.


Step 7 — Report

Tell the user:

  • The issue URL (as a clickable link)
  • Confirmation it was added to the Luis Planner project with Owner, Topic, and Priority set

One line each. Done.

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 326,286. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.