[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6C0PT8WTP3VD6TZPAS8KD0S":3,"skill-same:01M6C0PT8WTP3VD6TZPAS8KD0S":96},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":18,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":50,"commitSha":51,"skillDirectory":52,"forksCount":53,"repositoryHtmlUrl":54,"repositoryHomepageUrl":55,"ownerHtmlUrl":56,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":57,"install":58,"resources":71},"01M6C0PT8WTP3VD6TZPAS8KD0S","plasma-sensitive-entry",null,"Requests sensitive human input through a masked KDE Plasma dialog and delivers it directly to an authorized consumer. Use whenever an agent needs a password, OTP, recovery code, token, or other sensitive text from the human. Apply before asking in chat, a question tool, terminal input, or an ordinary form. Existing YubiKey, remote authentication wrappers, and agent 1Password routes take precedence.","beep-effect\u002Fbeep-effect","beep-effect","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F293012014?v=4","01M6C0KM5WSBFT39QDNXKH1JVY","Beep Effect","01M6C0KM9QBN9R26F3EHTSWR14",80,"Apache-2.0","https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fplasma-sensitive-entry\u002FSKILL.md",[],[19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"entry","plasma sensitive entry","dialog","remote","form","input","otp","token","human","stop","take","session","user","terminal","question","text","password","tool","collection","recovery","YubiKey","authentication","code","python","1password","2026-11-10 10:12:30",false,"---\nname: plasma-sensitive-entry\ndescription: Requests sensitive human input through a masked KDE Plasma dialog and delivers it directly to an authorized consumer. Use whenever an agent needs a password, OTP, recovery code, token, or other sensitive text from the human. Apply before asking in chat, a question tool, terminal input, or an ordinary form. Existing YubiKey, remote authentication wrappers, and agent 1Password routes take precedence.\ncompatibility: KDE Plasma with kdialog, Python 3, and a reachable user session bus; otherwise stop sensitive collection.\n---\n\n# Plasma sensitive entry\n\nThis is the default process when an authorized task needs sensitive text from\nthe human. Announce the purpose and destination without asking for the value in\nchat. A dialog collects the value; the agent receives only sanitized status.\n\n## Choose the existing authentication route first\n\n- Local sudo\u002Fpkexec uses the canonical `yubi-sudo` \u002F `yubi-pkexec` wrappers in a\n  real PTY, including their notification, sound, serialized touch and retry\n  rules. Never substitute a password dialog for local YubiKey PAM.\n- Remote SSH\u002FYubiKey wrappers remain canonical. Use this skill only for a text\n  challenge the approved route actually requires, such as an OTP.\n- Agent 1Password operations use `op` from PATH and their existing automation\n  backend. On failure run `op-doctor` once and stop a still-failing operation.\n  Never request desktop sign-in, unlock, credentials or raw item JSON as repair.\n- Prefer an existing authorized secret reference over asking the human again.\n  This skill grants no new authority, capture scope, host trust, or privilege.\n\n## Deliver text without exposing it\n\n1. Establish the exact authorized destination, challenge and owning process.\n   Use a title naming the host\u002Fservice and action, and a label identifying the\n   requested field and where it goes. Never put a secret in either string.\n2. Verify the local Plasma session and `kdialog` are available. Use only the\n   selected session's display and bus metadata; never print its environment.\n   If the agent lacks user-bus context, use the integration contract's\n   [current-user preparation](.\u002Freferences\u002Fintegration.md#current-user-gui-preparation).\n   A missing GUI is a blocker: arrange human entry in the trusted application.\n   Never fall back to chat, question tools, terminal typing or plaintext files.\n3. Use [the pipe helper](.\u002Fscripts\u002Fprompt.py) from a trusted adapter, following\n   [the integration contract](.\u002Freferences\u002Fintegration.md). The adapter creates\n   a private pipe, passes its write descriptor using `pass_fds`, and consumes\n   the read side in memory. The helper refuses standard descriptors and only\n   writes a successful, nonempty answer to that inherited pipe. The bundled\n   [SSH askpass adapter](.\u002Fscripts\u002Fssh-askpass.py) is the concrete SSH consumer;\n   never run it directly.\n4. Keep answers out of tool arguments\u002Fresults, stdout\u002Fstderr, environment,\n   shell history, files, screenshots and telemetry. Do not invoke `kdialog\n   --password` directly as an agent tool: its stdout contains the answer.\n   Do not use shell command substitution or print the helper's pipe contents.\n5. Forward the answer directly to the intended consumer. For a PTY, verify\n   echo is disabled and suppress **all** child bytes until independently\n   confirmed authentication; echoed input must never reach the transcript.\n   Drop answer and capture-buffer references immediately after delivery.\n   Python cannot guarantee memory erasure; do not claim otherwise.\n6. Report only success, cancellation, timeout or sanitized failure. Never\n   return the answer, length, prefix, digest or an untrusted exception message.\n\n## Own the lifecycle\n\n- Serialize sensitive dialogs and physical-key requests. A running session is\n  pending; resume that exact session. Never duplicate an uncertain request.\n- On explicit cancellation stop immediately. A dialog deadline is 60 seconds\n  by default. Close only the adapter's own dialog and authentication process,\n  reap them, close pipe\u002FPTY descriptors, restore terminal attributes and remove\n  owned temporary helpers. Handle EOF and PTY `EIO` as a closed connection.\n- Bound every wait, including shutdown: TERM, timed wait, KILL if necessary,\n  then reap. Never broad-kill processes, remove another session's SSH socket,\n  or disrupt unrelated authentication prompts.\n- Retry only an authentication challenge known to have failed, at most three\n  total attempts, announcing fresh attempts. Cancellation is not a retry.\n  Never replay an uncertain command or interrupt an active privileged write.\n- Preserve existing local YubiKey rules: cancel a password fallback, confirm\n  the owned request ended, and retry the wrapped touch without asking for a\n  password. A foreign holder requires coordination with its owner.\n\n## Verification\n\nRun `PYTHONDONTWRITEBYTECODE=1 python3 -B -m unittest discover -s \u003Cskill>\u002Fscripts -p 'test_*.py'`.\nTests use synthetic input and fake dialogs; they never request real credentials.\nA live masked-dialog acceptance check must be explicitly described as such and\nuse disposable synthetic input. Automated tests alone do not prove GUI delivery.\n","# Plasma sensitive entry\n\nThis is the default process when an authorized task needs sensitive text from\nthe human. Announce the purpose and destination without asking for the value in\nchat. A dialog collects the value; the agent receives only sanitized status.\n\n## Choose the existing authentication route first\n\n- Local sudo\u002Fpkexec uses the canonical `yubi-sudo` \u002F `yubi-pkexec` wrappers in a\n  real PTY, including their notification, sound, serialized touch and retry\n  rules. Never substitute a password dialog for local YubiKey PAM.\n- Remote SSH\u002FYubiKey wrappers remain canonical. Use this skill only for a text\n  challenge the approved route actually requires, such as an OTP.\n- Agent 1Password operations use `op` from PATH and their existing automation\n  backend. On failure run `op-doctor` once and stop a still-failing operation.\n  Never request desktop sign-in, unlock, credentials or raw item JSON as repair.\n- Prefer an existing authorized secret reference over asking the human again.\n  This skill grants no new authority, capture scope, host trust, or privilege.\n\n## Deliver text without exposing it\n\n1. Establish the exact authorized destination, challenge and owning process.\n   Use a title naming the host\u002Fservice and action, and a label identifying the\n   requested field and where it goes. Never put a secret in either string.\n2. Verify the local Plasma session and `kdialog` are available. Use only the\n   selected session's display and bus metadata; never print its environment.\n   If the agent lacks user-bus context, use the integration contract's\n   [current-user preparation](.\u002Freferences\u002Fintegration.md#current-user-gui-preparation).\n   A missing GUI is a blocker: arrange human entry in the trusted application.\n   Never fall back to chat, question tools, terminal typing or plaintext files.\n3. Use [the pipe helper](.\u002Fscripts\u002Fprompt.py) from a trusted adapter, following\n   [the integration contract](.\u002Freferences\u002Fintegration.md). The adapter creates\n   a private pipe, passes its write descriptor using `pass_fds`, and consumes\n   the read side in memory. The helper refuses standard descriptors and only\n   writes a successful, nonempty answer to that inherited pipe. The bundled\n   [SSH askpass adapter](.\u002Fscripts\u002Fssh-askpass.py) is the concrete SSH consumer;\n   never run it directly.\n4. Keep answers out of tool arguments\u002Fresults, stdout\u002Fstderr, environment,\n   shell history, files, screenshots and telemetry. Do not invoke `kdialog\n   --password` directly as an agent tool: its stdout contains the answer.\n   Do not use shell command substitution or print the helper's pipe contents.\n5. Forward the answer directly to the intended consumer. For a PTY, verify\n   echo is disabled and suppress **all** child bytes until independently\n   confirmed authentication; echoed input must never reach the transcript.\n   Drop answer and capture-buffer references immediately after delivery.\n   Python cannot guarantee memory erasure; do not claim otherwise.\n6. Report only success, cancellation, timeout or sanitized failure. Never\n   return the answer, length, prefix, digest or an untrusted exception message.\n\n## Own the lifecycle\n\n- Serialize sensitive dialogs and physical-key requests. A running session is\n  pending; resume that exact session. Never duplicate an uncertain request.\n- On explicit cancellation stop immediately. A dialog deadline is 60 seconds\n  by default. Close only the adapter's own dialog and authentication process,\n  reap them, close pipe\u002FPTY descriptors, restore terminal attributes and remove\n  owned temporary helpers. Handle EOF and PTY `EIO` as a closed connection.\n- Bound every wait, including shutdown: TERM, timed wait, KILL if necessary,\n  then reap. Never broad-kill processes, remove another session's SSH socket,\n  or disrupt unrelated authentication prompts.\n- Retry only an authentication challenge known to have failed, at most three\n  total attempts, announcing fresh attempts. Cancellation is not a retry.\n  Never replay an uncertain command or interrupt an active privileged write.\n- Preserve existing local YubiKey rules: cancel a password fallback, confirm\n  the owned request ended, and retry the wrapped touch without asking for a\n  password. A foreign holder requires coordination with its owner.\n\n## Verification\n\nRun `PYTHONDONTWRITEBYTECODE=1 python3 -B -m unittest discover -s \u003Cskill>\u002Fscripts -p 'test_*.py'`.\nTests use synthetic input and fake dialogs; they never request real credentials.\nA live masked-dialog acceptance check must be explicitly described as such and\nuse disposable synthetic input. Automated tests alone do not prove GUI delivery.\n",{"name":5,"description":7,"compatibility":49},"KDE Plasma with kdialog, Python 3, and a reachable user session bus; otherwise stop sensitive collection.","main","467b9e7e2ed4a0696bb52a7c883c388282061610",".claude\u002Fskills\u002Fplasma-sensitive-entry",14,"https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect","https:\u002F\u002Fwww.oip.law","https:\u002F\u002Fgithub.com\u002Fbeep-effect","2026-11-10 15:59:29",{"source":8,"skillName":5,"commands":59,"prompt":69,"zipAvailable":70},[60,63,66],{"tool":61,"command":62},"npx","npx skills add beep-effect\u002Fbeep-effect --skill plasma-sensitive-entry",{"tool":64,"command":65},"bunx","bunx skills add beep-effect\u002Fbeep-effect --skill plasma-sensitive-entry",{"tool":67,"command":68},"pnpm","pnpm dlx skills add beep-effect\u002Fbeep-effect --skill plasma-sensitive-entry","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fplasma-sensitive-entry\u002FSKILL.md",true,[72,78,84,88,92],{"path":73,"resourceType":74,"resourceTypeDesc":75,"sizeBytes":76,"sourceHtmlUrl":77},"references\u002Fintegration.md","REFERENCE","参考文档",11047,"https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fplasma-sensitive-entry\u002Freferences\u002Fintegration.md",{"path":79,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":82,"sourceHtmlUrl":83},"scripts\u002Finstall.py","SCRIPT","脚本",3332,"https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fplasma-sensitive-entry\u002Fscripts\u002Finstall.py",{"path":85,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":86,"sourceHtmlUrl":87},"scripts\u002Fprompt.py",4576,"https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fplasma-sensitive-entry\u002Fscripts\u002Fprompt.py",{"path":89,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":90,"sourceHtmlUrl":91},"scripts\u002Fssh-askpass.py",3889,"https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fplasma-sensitive-entry\u002Fscripts\u002Fssh-askpass.py",{"path":93,"resourceType":80,"resourceTypeDesc":81,"sizeBytes":94,"sourceHtmlUrl":95},"scripts\u002Ftest_prompt.py",16797,"https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fplasma-sensitive-entry\u002Fscripts\u002Ftest_prompt.py",[97,121,132,142,178,203],{"skillNo":98,"name":99,"nameZh":6,"description":100,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":44},"01M714DQT4JQHZ11X0RH0T8RQ7","auth-environments","Sign Claude Code in to a chosen Claude subscription on every linked T3 fleet host (grok-bot, beep-worker, dankserver, tbk-worker, tom-pc-1-wsl). Use when a Claude account hits its weekly limit, when `bun run beep accounts` shows the fleet's account used up, or on `\u002Fauth-environments`. Opens each host's OAuth page and a masked KDE code dialog together and verifies the admitted account.","https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fauth-environments\u002FSKILL.md",[],[104,105,106,107,108,109,42,110,21,111,112,113,114,115,116,117,118,119,41,120],"auth","environments","auth environments","path","limit","page","canonical","fleet","run","active","weekly","bot","workstation","up","worker","host","when",{"skillNo":122,"name":123,"nameZh":6,"description":124,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":125,"categories":126,"keywords":127,"publishedAt":44},"01M6C0RK94T5QGSZ0K9TA5Q2EF","shadcn","Fixture for immutable shadcn skill provenance.","https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002Fpackages\u002Ftooling\u002Ftool\u002Fcli\u002Ftest\u002Ffixtures\u002Fskills-provenance\u002Fshadcn\u002Fupstream\u002FSKILL.md",[],[123,128,129,130,131],"immutable","provenance","fixture","for",{"skillNo":133,"name":134,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":135,"categories":136,"keywords":137,"publishedAt":44},"01M6C0RGPWMYM5KS62ZZPNAZ0W","qa-inventory-judge","https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002Fpackages\u002Ftooling\u002Ftool\u002Fcli\u002Fskills\u002Fqa-inventory-judge\u002FSKILL.md",[],[138,139,140,141],"inventory","qa","qa inventory judge","judge",{"skillNo":143,"name":144,"nameZh":6,"description":145,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":146,"licenseFileUrl":6,"sourceHtmlUrl":147,"categories":148,"keywords":154,"publishedAt":44},"01M6C0RDVR0A6W6ZJCJMEYJT77","practice-onboarding","Set up a lawyer's computer for their practice through the practice gateway. Use when the lawyer asks to get set up, to connect their documents, mail, calendar or practice tools, or when the practice gateway reports that setup is incomplete. Interviews the lawyer one question at a time, saves a practice profile, then checks and repairs the computer until setup is complete.","MIT","https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002Fapps\u002Fpractice-gateway\u002Fplugin\u002Fskills\u002Fpractice-onboarding\u002FSKILL.md",[149],{"categoryNo":150,"categoryName":151,"taxonomyType":152,"taxonomyTypeDesc":153},"01JBSEEDCAT000000000000038","人力资源","PROFESSION","适用职业",[155,156,157,158,159,160,161,162,120,117,163,164,165,33,166,167,168,169,170,171,41,172,173,174,175,176,177],"onboarding","practice onboarding","at","guide","interviews","calendar","mail","reports","time","get","save","profile","Tools","setup","beep","status","desktop","documents","connect","computer","windows","gateway","SET",{"skillNo":179,"name":180,"nameZh":6,"description":181,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":182,"categories":183,"keywords":187,"publishedAt":44},"01M6C0RB09NRJN0E1W3ND9HDE6","triage-nda","Screen NDAs before inventor disclosures or client pitches at Oppold IP Law. Flag disclosure, residuals, marking, term, and hidden IP rights for attorney review.","https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002Fapps\u002Fpractice-claude-mod\u002Fskills\u002Ftriage-nda\u002FSKILL.md",[184],{"categoryNo":185,"categoryName":186,"taxonomyType":152,"taxonomyTypeDesc":153},"01JBSEEDCAT000000000000037","律师与法务",[188,189,190,191,192,193,194,195,196,197,157,198,199,200,201,202,131],"nda","triage","triage nda","2026","screen","ip","plugins","work","review","knowledge","knowledge-work","legal","client","hidden","rights",{"skillNo":204,"name":205,"nameZh":6,"description":206,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":207,"categories":208,"keywords":210,"publishedAt":44},"01M6C0R8B5D35H50QY426AYR39","review-contract","Review IP agreements for Oppold IP Law. Use for assignments, licenses, inventor agreements, joint development, or NDAs involving inventions. Prepare cited issues and proposed revisions for attorney review.","https:\u002F\u002Fgithub.com\u002Fbeep-effect\u002Fbeep-effect\u002Fblob\u002Fmain\u002Fapps\u002Fpractice-claude-mod\u002Fskills\u002Freview-contract\u002FSKILL.md",[209],{"categoryNo":185,"categoryName":186,"taxonomyType":152,"taxonomyTypeDesc":153},[196,211,212,191,198,199,213,193,131,214,194,195,197,215,216],"review contract","contract","use","prepare","issues","development"]